package com.ruoyi.app.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * @author pc
 * @version 1.0
 * @description: TODO
 * @date 2025/9/21 0:12
 */
public class BusNewsNotice extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @Excel(name = "序号", sort  =0)
    private Long seq;

    /** 主键id */
    private Long noticeId;

    /** 公告标题 */
    @Excel(name = "标题名称", sort  =1)
    private String noticeTitle;

    /** 公告内容 */
    @Excel(name = "通知内容",sort=4)
    private String noticeContent;

    /** 发布状态；0：未发布；1：已发布；2：已删除 */
    @Excel(name = "发布状态",sort=7, readConverterExp = "0=未发布,1=已发布")
    private String noticeState;

    /** 公告类型 */
    @Excel(name = "公告类型",sort=7, readConverterExp = "1=环境新闻,2=工作动态,3=通知公告")
    private String noticeType;

    /** 文件名称 */
    private String fileName;

    /** 文件路径 */
    private String filePath;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @Excel(name = "发布时间", sort=3, width = 30, dateFormat = "yyyy-MM-dd hh:mm:ss")
    private Date releaseTime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", sort=5, width = 30, dateFormat = "yyyy-MM-dd hh:mm:ss")
    private Date createTime;

    /** 创建人id */
    private Long createUserId;

    /** 创建人名称 */
    @Excel(name = "发布人", sort  =2)
    private String createUserName;

    /** 创建人所属单位id */
    private Long createDeptId;

    /** 创建人所属单位名称 */
    @Excel(name = "所属网格",sort=6)
    private String createDeptName;

    /** 修改人id */
    private Long updateUserId;

    /** 修改人名称 */
    private String updateUserName;

    /** 修改人所属单位id */
    private Long updateDeptId;

    /** 修改人所属单位名称 */
    private String updateDeptName;

    public void setNoticeId(Long noticeId)
    {
        this.noticeId = noticeId;
    }

    public Long getNoticeId()
    {
        return noticeId;
    }
    public void setNoticeTitle(String noticeTitle)
    {
        this.noticeTitle = noticeTitle;
    }

    public String getNoticeTitle()
    {
        return noticeTitle;
    }
    public void setNoticeContent(String noticeContent)
    {
        this.noticeContent = noticeContent;
    }

    public String getNoticeContent()
    {
        return noticeContent;
    }
    public void setNoticeState(String noticeState)
    {
        this.noticeState = noticeState;
    }

    public String getNoticeState()
    {
        return noticeState;
    }
    public void setNoticeType(String noticeType)
    {
        this.noticeType = noticeType;
    }

    public String getNoticeType()
    {
        return noticeType;
    }
    public void setFileName(String fileName)
    {
        this.fileName = fileName;
    }

    public String getFileName()
    {
        return fileName;
    }
    public void setFilePath(String filePath)
    {
        this.filePath = filePath;
    }

    public String getFilePath()
    {
        return filePath;
    }
    public void setReleaseTime(Date releaseTime)
    {
        this.releaseTime = releaseTime;
    }

    public Date getReleaseTime()
    {
        return releaseTime;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public void setCreateUserId(Long createUserId)
    {
        this.createUserId = createUserId;
    }

    public Long getCreateUserId()
    {
        return createUserId;
    }
    public void setCreateUserName(String createUserName)
    {
        this.createUserName = createUserName;
    }

    public String getCreateUserName()
    {
        return createUserName;
    }
    public void setCreateDeptId(Long createDeptId)
    {
        this.createDeptId = createDeptId;
    }

    public Long getCreateDeptId()
    {
        return createDeptId;
    }
    public void setCreateDeptName(String createDeptName)
    {
        this.createDeptName = createDeptName;
    }

    public String getCreateDeptName()
    {
        return createDeptName;
    }
    public void setUpdateUserId(Long updateUserId)
    {
        this.updateUserId = updateUserId;
    }

    public Long getUpdateUserId()
    {
        return updateUserId;
    }
    public void setUpdateUserName(String updateUserName)
    {
        this.updateUserName = updateUserName;
    }

    public String getUpdateUserName()
    {
        return updateUserName;
    }
    public void setUpdateDeptId(Long updateDeptId)
    {
        this.updateDeptId = updateDeptId;
    }

    public Long getUpdateDeptId()
    {
        return updateDeptId;
    }
    public void setUpdateDeptName(String updateDeptName)
    {
        this.updateDeptName = updateDeptName;
    }

    public String getUpdateDeptName()
    {
        return updateDeptName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("noticeId", getNoticeId())
                .append("noticeTitle", getNoticeTitle())
                .append("noticeContent", getNoticeContent())
                .append("noticeState", getNoticeState())
                .append("noticeType", getNoticeType())
                .append("fileName", getFileName())
                .append("filePath", getFilePath())
                .append("releaseTime", getReleaseTime())
                .append("createTime", getCreateTime())
                .append("createUserId", getCreateUserId())
                .append("createUserName", getCreateUserName())
                .append("createDeptId", getCreateDeptId())
                .append("createDeptName", getCreateDeptName())
                .append("updateTime", getUpdateTime())
                .append("updateUserId", getUpdateUserId())
                .append("updateUserName", getUpdateUserName())
                .append("updateDeptId", getUpdateDeptId())
                .append("updateDeptName", getUpdateDeptName())
                .toString();
    }
}
